package com.copplay.common.core.constant;

/**
 * 缓存组名称常量
 * <p>
 * key 格式为 cacheNames#ttl#maxIdleTime#maxSize
 * <p>
 * ttl 过期时间 如果设置为0则不过期 默认为0
 * maxIdleTime 最大空闲时间 根据LRU算法清理空闲数据 如果设置为0则不检测 默认为0
 * maxSize 组最大长度 根据LRU算法清理溢出数据 如果设置为0则无限长 默认为0
 * <p>
 * 例子: test#60s、test#0#60s、test#0#1m#1000、test#1h#0#500
 *
 * @author Lion Li
 */
public interface CacheNames {

    /**
     * 系统配置
     */
    String CONFIG = "config";

    /**
     * 数据字典
     */
    String DICT = "dict";

    /**
     * 数据字典类型
     */
    String DICT_TYPE = "dict_type";

    /**
     * 租户
     */
    String TENANT = GlobalConstants.GLOBAL_REDIS_KEY + "tenant#30d";

    /**
     * 客户端
     */
    String CLIENT = GlobalConstants.GLOBAL_REDIS_KEY + "client#30d";

    /**
     * 用户账户
     */
    String USER_NAME = "user_name#30d";

    /**
     * 用户名称
     */
    String NICKNAME = "nickname#30d";

    /**
     * 部门
     */
    String DEPT = "dept#30d";

    /**
     * 角色自定义权限
     */
    String ROLE_CUSTOM = "role_custom#30d";

    /**
     * 部门及以下权限
     */
    String DEPT_AND_CHILD = "dept_and_child#30d";

    /**
     * 在线用户
     */
    String ONLINE_TOKEN = "online_tokens";

}
